home *** CD-ROM | disk | FTP | other *** search
/ FishMarket 1.0 / FishMarket v1.0.iso / fishies / 001-025 / disk_006 / compress / readme2 < prev    next >
Text File  |  1992-05-06  |  3KB  |  94 lines

  1. # "When in danger, or when in doubt,
  2.    Run in circles, scream and shout."  -- Uncle Schuapp
  3.  
  4.      compress.c, after being stable for some months, is about to
  5. transmogrify before BSD 4.3 release.  Changes reflect:
  6.  
  7.      (a) mods for portability to a wider class of machines
  8.      (PC XT, Z8000, Cray, etc.)
  9.  
  10.      (b) a 5-10% speedup to 'uncompress'.
  11.  
  12.      (c) several minor bug fixes and option flag changes, largely
  13.      invisible to users.  one recently-repaired gaffe, discussed below,
  14.      acknowledges the possibility of corrupted files under
  15.      (presumably) rare conditions.
  16.  
  17.      (d) a more succinct manual page.
  18.  
  19.      (e) NO file format change.
  20.      
  21. The compress special-interest group is now testing the new version,
  22. to be distributed also with 2.10.3 news.
  23.  
  24.      Now for the only hard bug we've seen with the RCS 3.0 release.
  25. This only affects files compressed sub-optimally on large machines
  26. via a multi-file command line, e.g. with
  27.  
  28.     compress -b12 file1 file2
  29.  
  30. Ignore this matter unless all the conditions below are met.
  31.  
  32.      (a) You have a 32-bit machine with over 2.5 megabytes of user space.
  33.      PDP 11s and most 68K boxes need not apply.
  34.  
  35.      (b) compress.c RCS 3.0 was compiled with -DUSERMEM set.
  36.  
  37.          (This may be hard to determine, because the shell script
  38.      to aid with this, distributed after RCS 3.0 was posted (along
  39.      with readnews 2.10.2), may fail on systems with protected /dev/kmem.
  40.      If this is the case, you have another reason NOT to worry.)
  41.  
  42.      (c) Users may have had motive to compress multiple files
  43.      using a single command using the non-default -b flag.
  44.  
  45.      -b was made visible largely for compatible file xfer
  46.      from 32-bit machines to 16-bit ones because of differences
  47.      in the algorithm.  However assuming (a) + (b), it also may
  48.      elicit a 20% (or so) speedup for files at the expense of
  49.      compression rate -- since the applications for this are
  50.      rather specialized, this is not recommended, and in fact the
  51.      flag may be hidden from the general user in this form come
  52.      the next distribution.
  53.  
  54. Candidates for corrupt files may be found using:
  55.  
  56.     find / -name '*.Z' -print |
  57.     while
  58.         read x
  59.     do        # test 3rd byte of magic number against 16
  60.         dd if=$x ibs=1 obs=1 skip=2 count=1 2>/dev/null | \
  61.             od | grep -v -s '20$' \
  62.             || echo $x
  63.     done
  64.  
  65. (that's a Bourne/McCarthy "OR" cmd before the echo), or with the 'find' line
  66. replaced by the swifter
  67.  
  68.     find .Z
  69.  
  70. if you run the Ames fast file finder.  Any files listed may just be ones
  71. uploaded from a smaller machine (safe), or ones safely compressed
  72. suboptimally with a larger -b which doesn't trigger the USERMEM code
  73. (oh, nevermind).  Anyhow, the true bad news test is:
  74.  
  75.     compress -c -d file > /dev/null
  76.  
  77. and if this core dumps, I hope you have a backup tape with a pure file.
  78. Yes, you're right, few things are worse than a bug in a data compressor,
  79. but I really doubt you'll find files like this.  News compression is
  80. immune, by the way, since the standard 'cbatch' script uses stdin rather
  81. than multiple files.
  82.  
  83.      After all this, the immediate bug fix and preventive tonic is to
  84. re-compile compress.c with the unadorned
  85.  
  86.     cc -O compress.c -o /usr/bin/compress
  87.  
  88. Send mail to me if you're desparate for a real bug fix, or, better yet,
  89. wait for the new release.
  90.  
  91.      --James A. Woods   {dual,ihnp4}!ames!jaw     or, jaw@riacs
  92.  
  93.  
  94.